package shuaige.jdk.stream.collectors相关的方法.汇总和统计相关;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class SummingXxx简单汇总 {
    static List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);

    /**
     * 生成一个用于求元素和的Collector，首先通过给定的mapper将元素转换类型，然后再求和。
     * 参数的作用就是将元素转换为指定的类型，最后结果与转换后类型一致。
     */
    public static void main(String[] args) {
        summingInt();
    }

    public static void summingInt() {
        int i = list.stream().collect(Collectors.summingInt(value -> value));
        System.out.println(i);
    }

    public static void summingLong() {
        long l = list.stream().collect(Collectors.summingLong(value -> value));
        System.out.println(l);
    }

    public static void summingDouble() {
        double d = list.stream().collect(Collectors.summingDouble(value -> value));
        System.out.println(d);
    }

}
